<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>添加删除记录-增</title>
    <style>
        *{
            margin: 5px auto;
            padding: 0px;
            text-align: center;
            
        }
        table{
            border: 1px solid  rgb(0, 0, 0);
            background-color: rgb(206, 255, 239);
        }
        th{
            font-weight: bolder;
        }
        td{
            border: 1px solid rgb(0, 0, 0);
            width: 100px;
            font-size: 17px;
        }
    </style>
</head>
<body>

    <table id="employeeTable">
        <tr>
            <th>Name</th>
            <th>Email</th>
            <th>Salary</th>
            <th>&nbsp;</th>
        </tr>
        <tr>
            <td>Tom</td>
            <td>tom@tom.com</td>
            <td>5000</td>
            <td><a href="deleteEmp?id=001">Delete</a></td>
        </tr>
        <tr>
            <td>Jerry</td>
            <td>Jerry@sohu.com</td>
            <td>8000</td>
            <td><a href="deleteEmp?id=002">Delete</a></td>
        </tr>
        <tr>
            <td>Bob</td>
            <td>bob@tom.com</td>
            <td>10000</td>
            <td><a href="deleteEmp?id=003">Delete</a></td>
        </tr>
    </table>

    <div id="formDiv">
        <h4>添加新员工</h4>
        <table>
            <tr>
                <td class="word">name: </td>
                <td class="inp">
                    <input type="text" name="empName" id="empName">
                </td>
            </tr>
            <tr>
                <td class="word">email: </td>
                <td class="inp">
                    <input type="text" name="email" id="email">
                </td>
            </tr>
            <tr>
                <td class="word">salary: </td>
                <td class="inp">
                    <input type="text" name="salary" id="salary">
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <button id="addEmpButton">
                        Submit
                    </button>
                </td>
            </tr>
        </table>
    </div>

</body>
</html>
<script>
    /*
        点击超链接以后，删除一个员工的信息
    */

    // 获取所有的超链接
    var allA = document.getElementsByTagName("a");

    // 为每个超链接都绑定一个单击响应函数
    for(var i=0;i<allA.length;i++){
        allA[i].onclick = function(){

            // 点击超链接以后，需要删除超链接所在的那一行
            // 这里我们点击那个超链接this就是谁 

            // 获取当前的 tr 
            var tr = this.parentNode.parentNode;

            // 获取要删除的员工的名字   ⭐⭐
            // var name = tr.getElementsByTagName("td")[0].innerHTML
            // var name = tr.children[0].innerHTML
            
            // 删除之前弹出一个提示框，判断是否确认删除
            var flag = confirm("是否确认删除"+tr.children[0].innerHTML+"?");

            if(flag){
                tr.parentNode.removeChild(tr);
            }
            
            /*
                点击超链接后，超链接会跳转页面，这是超链接的默认行为
                    但时此时我们不希望出现默认行为，可以通过在响应函数的最后 return false来取消默认行为
            */

            return false;
        };
    }

    /*
        添加员工的功能
            - 点击按钮后， 将员工的信息添加到对应的表格中
    */
    
    // 获取按钮 并添加单击响应函数      ⭐⭐ 自研
/*    var addEmpButton = document.getElementById("addEmpButton");
    addEmpButton.onclick=function(){

        // 获取用户填写的员工信息
        // 获取员工名字
        var name = document.getElementById("empName").value;
        var email = document.getElementById("email").value;
        var salary = document.getElementById("salary").value;
        
        // 将员工信息添加到 td 中
        var td = document.createElement("td");
        td.innerHTML=name;
        var td2 = document.createElement("td");
        td2.innerHTML=email;
        var td3 = document.createElement("td");
        td3.innerHTML=salary;
        var td4 = document.createElement("td");
        td4.innerHTML='<a href="123">Delete</a>';

        // 先创建一个tr 再将td 添加到 tr 中
        // 创建一个 tr
        var tr = document.createElement("tr");
        // 将 td 添加 tr 中
        tr.appendChild(td);
        tr.appendChild(td2);
        tr.appendChild(td3);
        tr.appendChild(td4);
        
        // 将内容添加到对应的表格中
        // 获取表单 id 
        var table = document.getElementById("employeeTable");

        // 将 tr 添加到table中
        table.appendChild(tr);

    };
*/
    // 获取按钮 并添加单击响应函数      ⭐⭐ 自研 改进
/*    var addEmpButton = document.getElementById("addEmpButton");
    addEmpButton.onclick=function(){

        // 获取用户填写的员工信息
        // 获取员工 名字
        var name = document.getElementById("empName").value;
        // 获取员工 email
        var email = document.getElementById("email").value;
        // 获取员工 salary
        var salary = document.getElementById("salary").value;

        // 先创建一个tr 再将员工信息 添加到 tr 中
        // 创建一个 tr
        var tr = document.createElement("tr");
        // 将 td 添加 tr 中
        tr.innerHTML="<td>"+name+"</td>"+
        "<td>"+email+"</td>"+
        "<td>"+salary+"</td>"+
        '<td><a href="deleteEmp?">Delete</a></td>';

        // 将内容添加到对应的表格中
        // 获取 id 为 employeeTable 的表单  
        var table = document.getElementById("employeeTable");

        // 将 tr 添加到 table 中   ❗❗❗❗
        // 不推荐使用，因为浏览器会自动将 tr 添加到 tbody 中，而新添加的元素则直接添加到table中了
        // table.appendChild(tr);

        // 将 tr 放到 tbody 中
        // 获取 tbody
        var tbody = document.getElementsByTagName("tbody");
        tbody[0].appendChild(tr);
    };
*/

    // 获取按钮 并添加单击响应函数      ⭐⭐ 课程方法  未优化⏰
    var addEmpButton = document.getElementById("addEmpButton");
    addEmpButton.onclick=function(){

        // 获取用户填写的员工信息
        // 获取员工 名字
        var name = document.getElementById("empName").value;
        // 获取员工 email
        var email = document.getElementById("email").value;
        // 获取员工 salary
        var salary = document.getElementById("salary").value;


        // 先创建一个tr 再将员工信息 添加到 tr 中
        // 创建一个 tr
        var tr = document.createElement("tr");

        // 创建一个 td 
        var td = document.createElement("td");
        var td2 = document.createElement("td");
        var td3 = document.createElement("td");
        var td4 = document.createElement("td");

        // 创建一个 a 标签
        var a = document.createElement("a");

        // 给 a 标签添加 href 属性并赋值
        a.href="javascript";

        // 给新添加的 a 添加 onclick 单击响应函数
        a.onclick = function(){

            // 点击超链接以后，需要删除超链接所在的那一行
            // 这里我们点击那个超链接this就是谁 

            // 获取当前的 tr 
            var tr = this.parentNode.parentNode;

            // 获取要删除的员工的名字   ⭐⭐
            // var name = tr.getElementsByTagName("td")[0].innerHTML
            // var name = tr.children[0].innerHTML

            // 删除之前弹出一个提示框，判断是否确认删除
            var flag = confirm("是否确认删除"+tr.children[0].innerHTML+"?");

            if(flag){
                tr.parentNode.removeChild(tr);
            }

            /*
                点击超链接后，超链接会跳转页面，这是超链接的默认行为
                    但时此时我们不希望出现默认行为，可以通过在响应函数的最后 return false来取消默认行为
            */

            return false;
        };
        // 创建四个文本节点
        var txName = document.createTextNode(name);
        var txEmail = document.createTextNode(email);
        var txSalary = document.createTextNode(salary);
        var txA = document.createTextNode("Delete");

        // 将 txA 文本节点添加到 a 中
        a.appendChild(txA);

        // 将文本节点 和 a 添加到 td 中
        td.appendChild(txName);
        td2.appendChild(txEmail);
        td3.appendChild(txSalary);
        td4.appendChild(a);

        // 将 td 添加 tr 中
        tr.appendChild(td);
        tr.appendChild(td2);
        tr.appendChild(td3);
        tr.appendChild(td4);
        
        // 将内容添加到对应的表格中
        // 获取 id 为 employeeTable 的表单  
        var table = document.getElementById("employeeTable");

        // 将 tr 添加到 table 中   ❗❗❗❗
        // 不推荐使用，因为浏览器会自动将 tr 添加到 tbody 中，而新添加的元素则直接添加到table中了
        // table.appendChild(tr);

        // 将 tr 放到 tbody 中
        // 获取 tbody
        var tbody = document.getElementsByTagName("tbody");
        tbody[0].appendChild(tr);
    };

</script>